//函数：1.参数   2.返回值   3.函数的功能  4.函数何时调用
// function getSearch(str?:string):string|ObjProps{
//     let url = location.search.substr(1);
//     let arr = url.split('&'); //['name=lili','age=10']  ====>  {name:'lili',age:10}
//     let target = {};
//     arr.forEach(item => {
//         let sArr = item.split('=');  //[name,lili]   [age,10]
//         target[sArr[0]] = sArr[1];
//     })
//     return str ? target[str] : target  //{name:'lili',age:10}
// }
// console.log(getSearch('age'));
//题目二
//定义接口
// interface TreeProps{
//     tagName:string,
//     props?:ObjProps,
//     children?:TreeProps[]|string
// }
// const JsonTree:TreeProps = {
//     "tagName":'ul',
//     "props":{
//         "className":'list',
//         "data-name":"jsontree"
//     },
//     "children":[
//         {
//             "tagName":'li',
//             "children":[
//                 {
//                     "tagName":'img',
//                     "props":{
//                         "src":"///xxx",
//                         "width":"16px"
//                     }
//                 }
//             ]
//         },
//         {
//             "tagName":'li',
//             "children":[
//                 {
//                     "tagName":"a",
//                     "props":{
//                         "href":"https://www.aliyun.com",
//                         "target":"_black"
//                     },
//                     "children":"阿里云"
//                 }
//             ]
//         }
//     ]
// };
// function parseDom(tree:TreeProps):HTMLElement{
//     //创建节点
//     let domNode = document.createElement(tree.tagName);
//     //设置属性
//     if(tree.props){
//         for(let key in tree.props){
//             domNode.setAttribute(key,tree.props[key]);
//         }
//     }
//     //设置子节点
//     if(tree.children){
//         if(Array.isArray(tree.children)){
//             //是数组
//             tree.children.forEach(item => {
//                 domNode.appendChild(parseDom(item));
//             })
//         }else{
//             //不是数组
//             //创建文本节点
//             let txtNode = document.createTextNode(tree.children);
//             domNode.appendChild(txtNode);
//         }
//     }
//     return domNode
// }
// let box = document.querySelector('#box');
// box.appendChild(parseDom(JsonTree))
// console.log(parseDom(JsonTree))
//题目三：
var targetArray = [1, [2, 3], 4];
var formater = "[a,[b],c]"; // ===> 数组
//replace 
function desc(arr, obj, formatArr) {
    formatArr.forEach(function (item, index) {
        if (Array.isArray(item)) {
            desc(arr[index], obj, item);
        }
        else {
            obj[item] = arr[index];
        }
    });
}
function destructuringArray(arr, format) {
    format = format.replace(/([a-z]+)/g, '"$1"');
    var formatArr = JSON.parse(format);
    console.log(arr);
    var obj = {};
    desc(arr, obj, formatArr);
    return obj;
}
console.log(destructuringArray(targetArray, formater));
